/**   
 * Copyright © 2020 eSunny Info. Tech Ltd. All rights reserved.
 * 
 * 功能描述：数据实体
 * @Package: com.yl.staff.model 
 * @author: Bai   
 * @date: 2020年12月21日 上午11:57:13 
 */
package com.yl.staff.model;

import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;

/**
 * 
* Copyright: Copyright (c) 2020 云邻信息科技
* 
* @ClassName: BeanStaffMessage.java
* @Description: 表[staff-message]的对应实体类
*
* @version: v1.0.2
* @author: Bai
* @date: 2020年12月21日 上午10:56:47 
*
* Modification History:
* Date         Author          Version            Description
*---------------------------------------------------------*
* 2020年12月21日     Bai           v1.0.0               新建
* 2020年12月24日     Bai           v1.0.1               加入状态属性 positionStatus，get set 方法，
* 												        及hashCode、toString、equals加入对应内容。
* 2020年12月31日     Bai           v1.0.2               修改 workScheduleTolerance 属性api注解及注释内容，添加描述 “/(合同期)”
 */
public class BeanStaffMessage implements Serializable{
	// @Fields serialVersionUID : 序列化静态标识-默认
	private static final long serialVersionUID = 1L;
	/* 数据编号-表格自动增长列 */
	@ApiModelProperty("数据编号")
	private int id; 
	/* 员工编号-根据编号规则计算得出  */
	@ApiModelProperty("员工编号")
	private String staffCode;
	/* 岗位  */
	@ApiModelProperty("岗位")
	private String station;
	/* 部门  */
	@ApiModelProperty("部门")
	private String department;
	/* 姓名  */
	@ApiModelProperty("姓名")
	private String name;
	/* 性别  */
	@ApiModelProperty("性别")
	private String sex;
	/* 电话  */
	@ApiModelProperty("电话")
	private String mobile;
	/* 出生日期  */
	@ApiModelProperty("出生日期")
	private String birthday;
	/* 身份证号码  */
	@ApiModelProperty("身份证号码")
	private String userCard;
	/* 学历信息  */
	@ApiModelProperty("学历信息")
	private String education;
	/* 毕业院校  */
	@ApiModelProperty("毕业院校")
	private String univesity;
	/* 专业  */
	@ApiModelProperty("专业")
	private String major;
	/* 入职时间  */
	@ApiModelProperty("入职时间")
	private String entryTime;
	/* 工作时限（合同期）  */
	@ApiModelProperty("工作时限(合同期)")
	private String workScheduleTolerance;
	/* 银行  */
	@ApiModelProperty("银行")
	private String bank;
	/* 银行卡号  */
	@ApiModelProperty("银行卡号")
	private String bankCard;
	/* 家庭住址  */
	@ApiModelProperty("家庭住址")
	private String address;
	/* 离职日期  */
	@ApiModelProperty("离职日期")
	private String departure;
	/* 合同开始时间  */
	@ApiModelProperty("合同开始时间")
	private String contractStartDate;
	/* 合同结束时间  */
	@ApiModelProperty("合同结束时间")
	private String contractEndDate;
	/* 合同备注  */
	@ApiModelProperty("合同备注")
	private String contractRemarks;
	/* 在职状态：在职/离职 */
	@ApiModelProperty("在职状态：在职/离职")
	private String positionStatus;
	/**
	 * @return the id
	 */
	public int getId() {
		return id;
	}
	/**
	 * @return the positionStatus
	 */
	public String getPositionStatus() {
		return positionStatus;
	}
	/**
	 * @param positionStatus the positionStatus to set
	 */
	public void setPositionStatus(String positionStatus) {
		this.positionStatus = positionStatus;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(int id) {
		this.id = id;
	}
	/**
	 * @return the staffCode
	 */
	public String getStaffCode() {
		return staffCode;
	}
	/**
	 * @param staffCode the staffCode to set
	 */
	public void setStaffCode(String staffCode) {
		this.staffCode = staffCode;
	}
	/**
	 * @return the station
	 */
	public String getStation() {
		return station;
	}
	/**
	 * @param station the station to set
	 */
	public void setStation(String station) {
		this.station = station;
	}
	/**
	 * @return the department
	 */
	public String getDepartment() {
		return department;
	}
	/**
	 * @param department the department to set
	 */
	public void setDepartment(String department) {
		this.department = department;
	}
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the sex
	 */
	public String getSex() {
		return sex;
	}
	/**
	 * @param sex the sex to set
	 */
	public void setSex(String sex) {
		this.sex = sex;
	}
	/**
	 * @return the mobile
	 */
	public String getMobile() {
		return mobile;
	}
	/**
	 * @param mobile the mobile to set
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	/**
	 * @return the birthday
	 */
	public String getBirthday() {
		return birthday;
	}
	/**
	 * @param birthday the birthday to set
	 */
	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}
	/**
	 * @return the userCard
	 */
	public String getUserCard() {
		return userCard;
	}
	/**
	 * @param userCard the userCard to set
	 */
	public void setUserCard(String userCard) {
		this.userCard = userCard;
	}
	/**
	 * @return the education
	 */
	public String getEducation() {
		return education;
	}
	/**
	 * @param education the education to set
	 */
	public void setEducation(String education) {
		this.education = education;
	}
	/**
	 * @return the univesity
	 */
	public String getUnivesity() {
		return univesity;
	}
	/**
	 * @param univesity the univesity to set
	 */
	public void setUnivesity(String univesity) {
		this.univesity = univesity;
	}
	/**
	 * @return the major
	 */
	public String getMajor() {
		return major;
	}
	/**
	 * @param major the major to set
	 */
	public void setMajor(String major) {
		this.major = major;
	}
	/**
	 * @return the entryTime
	 */
	public String getEntryTime() {
		return entryTime;
	}
	/**
	 * @param entryTime the entryTime to set
	 */
	public void setEntryTime(String entryTime) {
		this.entryTime = entryTime;
	}
	/**
	 * @return the workScheduleTolerance
	 */
	public String getWorkScheduleTolerance() {
		return workScheduleTolerance;
	}
	/**
	 * @param workScheduleTolerance the workScheduleTolerance to set
	 */
	public void setWorkScheduleTolerance(String workScheduleTolerance) {
		this.workScheduleTolerance = workScheduleTolerance;
	}
	/**
	 * @return the bank
	 */
	public String getBank() {
		return bank;
	}
	/**
	 * @param bank the bank to set
	 */
	public void setBank(String bank) {
		this.bank = bank;
	}
	/**
	 * @return the bankCard
	 */
	public String getBankCard() {
		return bankCard;
	}
	/**
	 * @param bankCard the bankCard to set
	 */
	public void setBankCard(String bankCard) {
		this.bankCard = bankCard;
	}
	/**
	 * @return the address
	 */
	public String getAddress() {
		return address;
	}
	/**
	 * @param address the address to set
	 */
	public void setAddress(String address) {
		this.address = address;
	}
	/**
	 * @return the departure
	 */
	public String getDeparture() {
		return departure;
	}
	/**
	 * @param departure the departure to set
	 */
	public void setDeparture(String departure) {
		this.departure = departure;
	}
	/**
	 * @return the contractStartDate
	 */
	public String getContractStartDate() {
		return contractStartDate;
	}
	/**
	 * @param contractStartDate the contractStartDate to set
	 */
	public void setContractStartDate(String contractStartDate) {
		this.contractStartDate = contractStartDate;
	}
	/**
	 * @return the contractEndDate
	 */
	public String getContractEndDate() {
		return contractEndDate;
	}
	/**
	 * @param contractEndDate the contractEndDate to set
	 */
	public void setContractEndDate(String contractEndDate) {
		this.contractEndDate = contractEndDate;
	}
	/**
	 * @return the contractRemarks
	 */
	public String getContractRemarks() {
		return contractRemarks;
	}
	/**
	 * @param contractRemarks the contractRemarks to set
	 */
	public void setContractRemarks(String contractRemarks) {
		this.contractRemarks = contractRemarks;
	}
	/** 
	* @see java.lang.Object#hashCode()  
	* @Function: BeanStaffMessage.java
	* @Description: 返回对象哈希值
	*
	* @param:无
	* @return：Returns a hash code value for the object. (API)
	* @throws：无
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2020年12月21日 上午11:37:14 
	*
	* Modification History:
	* Date         Author          Version            Description
	*---------------------------------------------------------*
	* 2020年12月21日     Bai           v1.0.0                                      新建
	* 2020年12月24日     Bai           v1.0.1                                      加入positionStatus属性
	*/
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((address == null) ? 0 : address.hashCode());
		result = prime * result + ((bank == null) ? 0 : bank.hashCode());
		result = prime * result + ((bankCard == null) ? 0 : bankCard.hashCode());
		result = prime * result + ((birthday == null) ? 0 : birthday.hashCode());
		result = prime * result + ((contractEndDate == null) ? 0 : contractEndDate.hashCode());
		result = prime * result + ((contractRemarks == null) ? 0 : contractRemarks.hashCode());
		result = prime * result + ((contractStartDate == null) ? 0 : contractStartDate.hashCode());
		result = prime * result + ((department == null) ? 0 : department.hashCode());
		result = prime * result + ((departure == null) ? 0 : departure.hashCode());
		result = prime * result + ((education == null) ? 0 : education.hashCode());
		result = prime * result + ((entryTime == null) ? 0 : entryTime.hashCode());
		result = prime * result + id;
		result = prime * result + ((major == null) ? 0 : major.hashCode());
		result = prime * result + ((mobile == null) ? 0 : mobile.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result + ((sex == null) ? 0 : sex.hashCode());
		result = prime * result + ((staffCode == null) ? 0 : staffCode.hashCode());
		result = prime * result + ((station == null) ? 0 : station.hashCode());
		result = prime * result + ((univesity == null) ? 0 : univesity.hashCode());
		result = prime * result + ((userCard == null) ? 0 : userCard.hashCode());
		result = prime * result + ((workScheduleTolerance == null) ? 0 : workScheduleTolerance.hashCode());
		result = prime * result + ((positionStatus == null) ? 0 : positionStatus.hashCode());
		return result;
	}
	/** 
	* @see java.lang.Object#equals(java.lang.Object)  
	* @Function: BeanStaffMessage.java
	* @Description: 某个其他对象是否“等于”此对象。
	*
	* @param: obj the reference object with which to compare.(API)
	* @return：Indicates whether some other object is "equal to" this one. (API)
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2020年12月21日 上午11:37:14 
	*
	* Modification History:
	* Date         Author          Version            Description
	*---------------------------------------------------------*
	* 2020年12月21日     Bai           v1.0.0                                      新建
	* 2020年12月21日     Bai           v1.0.0                                      加入positionStatus属性
	*/
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		BeanStaffMessage other = (BeanStaffMessage) obj;
		if (address == null) {
			if (other.address != null)
				return false;
		} else if (!address.equals(other.address))
			return false;
		if (bank == null) {
			if (other.bank != null)
				return false;
		} else if (!bank.equals(other.bank))
			return false;
		if (bankCard == null) {
			if (other.bankCard != null)
				return false;
		} else if (!bankCard.equals(other.bankCard))
			return false;
		if (birthday == null) {
			if (other.birthday != null)
				return false;
		} else if (!birthday.equals(other.birthday))
			return false;
		if (contractEndDate == null) {
			if (other.contractEndDate != null)
				return false;
		} else if (!contractEndDate.equals(other.contractEndDate))
			return false;
		if (contractRemarks == null) {
			if (other.contractRemarks != null)
				return false;
		} else if (!contractRemarks.equals(other.contractRemarks))
			return false;
		if (contractStartDate == null) {
			if (other.contractStartDate != null)
				return false;
		} else if (!contractStartDate.equals(other.contractStartDate))
			return false;
		if (department == null) {
			if (other.department != null)
				return false;
		} else if (!department.equals(other.department))
			return false;
		if (departure == null) {
			if (other.departure != null)
				return false;
		} else if (!departure.equals(other.departure))
			return false;
		if (education == null) {
			if (other.education != null)
				return false;
		} else if (!education.equals(other.education))
			return false;
		if (entryTime == null) {
			if (other.entryTime != null)
				return false;
		} else if (!entryTime.equals(other.entryTime))
			return false;
		if (id != other.id)
			return false;
		if (major == null) {
			if (other.major != null)
				return false;
		} else if (!major.equals(other.major))
			return false;
		if (mobile == null) {
			if (other.mobile != null)
				return false;
		} else if (!mobile.equals(other.mobile))
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		if (sex == null) {
			if (other.sex != null)
				return false;
		} else if (!sex.equals(other.sex))
			return false;
		if (staffCode == null) {
			if (other.staffCode != null)
				return false;
		} else if (!staffCode.equals(other.staffCode))
			return false;
		if (station == null) {
			if (other.station != null)
				return false;
		} else if (!station.equals(other.station))
			return false;
		if (univesity == null) {
			if (other.univesity != null)
				return false;
		} else if (!univesity.equals(other.univesity))
			return false;
		if (userCard == null) {
			if (other.userCard != null)
				return false;
		} else if (!userCard.equals(other.userCard))
			return false;
		if (workScheduleTolerance == null) {
			if (other.workScheduleTolerance != null)
				return false;
		} else if (!workScheduleTolerance.equals(other.workScheduleTolerance))
			return false;
		if (positionStatus == null) {
			if (other.positionStatus != null)
				return false;
		} else if (!positionStatus.equals(other.positionStatus))
			return false;
		return true;
	}
	/** 
	* @see java.lang.Object#toString()  
	* @Function: BeanStaffMessage.java
	* @Description: 返回对象的字符串表示形式。
	*
	* @param:无
	* @return：Returns a string representation of the object.
	* @throws：无
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2020年12月21日 上午11:37:20 
	*
	* Modification History:
	* Date         Author          Version            Description
	*---------------------------------------------------------*
	* 2020年12月21日     Bai           v1.0.0                                     新建
	* 2020年12月24日     Bai           v1.0.1                                     加入positionStatus属性
	*/
	@Override
	public String toString() {
		return "BeanStaffMessage [id=" + id + ", staffCode=" + staffCode + ", station=" + station + ", department="
				+ department + ", name=" + name + ", sex=" + sex + ", mobile=" + mobile + ", birthday=" + birthday
				+ ", userCard=" + userCard + ", education=" + education + ", univesity=" + univesity + ", major="
				+ major + ", entryTime=" + entryTime + ", workScheduleTolerance=" + workScheduleTolerance + ", bank="
				+ bank + ", bankCard=" + bankCard + ", address=" + address + ", departure=" + departure
				+ ", contractStartDate=" + contractStartDate + ", contractEndDate=" + contractEndDate
				+ ", positionStatus=" + positionStatus
				+ ", contractRemarks=" + contractRemarks + "]";
	}
	
}
